package com.research.service.impl;

import java.util.HashMap;
import java.util.List;

import com.research.common.MetaObjectForXmlHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.research.mapper.ResearchPersonMapper;
import com.research.domain.entity.ResearchPerson;
import com.research.service.IResearchPersonService;

/**
 * 研究机构-机构人员列Service业务层处理
 *
 * @author hst
 * @date 2025-03-24
 */
@Service
public class ResearchPersonServiceImpl implements IResearchPersonService
{
    @Autowired
    private ResearchPersonMapper researchPersonMapper;

    /**
     * 查询研究机构-机构人员列
     *
     * @param id 研究机构-机构人员列主键
     * @return 研究机构-机构人员列
     */
    @Override
    public ResearchPerson selectResearchPersonById(String id)
    {
        return researchPersonMapper.selectResearchPersonById(id);
    }

    /**
     * 查询研究机构-机构人员列列表
     *
     * @param researchPerson 研究机构-机构人员列
     * @return 研究机构-机构人员列
     */
    @Override
    public List<ResearchPerson> selectResearchPersonList(ResearchPerson researchPerson)
    {
        return researchPersonMapper.selectResearchPersonList(researchPerson);
    }

    @Override
    public HashMap<String, Integer> selectDutyStatusCount(ResearchPerson researchPerson)
    {
        return researchPersonMapper.selectDutyStatusCount(researchPerson);
    }

    /**
     * 新增研究机构-机构人员列
     *
     * @param researchPerson 研究机构-机构人员列
     * @return 结果
     */
    @Override
    public int insertResearchPerson(ResearchPerson researchPerson)
    {
        MetaObjectForXmlHandler.fillForInsertGenUuid(researchPerson);
        return researchPersonMapper.insertResearchPerson(researchPerson);
    }

    /**
     * 修改研究机构-机构人员列
     *
     * @param researchPerson 研究机构-机构人员列
     * @return 结果
     */
    @Override
    public int updateResearchPerson(ResearchPerson researchPerson)
    {
        MetaObjectForXmlHandler.fillForUpdate(researchPerson);
        return researchPersonMapper.updateResearchPerson(researchPerson);
    }

    /**
     * 批量删除研究机构-机构人员列
     *
     * @param ids 需要删除的研究机构-机构人员列主键
     * @return 结果
     */
    @Override
    public int deleteResearchPersonByIds(String[] ids)
    {
        return researchPersonMapper.deleteResearchPersonByIds(ids);
    }

    /**
     * 删除研究机构-机构人员列信息
     *
     * @param id 研究机构-机构人员列主键
     * @return 结果
     */
    @Override
    public int deleteResearchPersonById(String id)
    {
        return researchPersonMapper.deleteResearchPersonById(id);
    }
}
